A computer system is capable of employing a variety of data protection technologies such as snapshot and mirroring functionality. Typically, a snapshot is not a full copy of a production volume. Rather, a snapshot includes only original portions of the production volume which have changed since the snapshot was taken, i.e., Copy on First Write (CoFW) data. On the other hand, a mirror is a full copy of a production volume, i.e., a byte-by-byte real time copy of the production volume.
Examples of snapshot-related products include SnapSure™ and SnapView™ both of which are provided by EMC Corporation of Hopkinton, Mass. An example of a mirroring product is MirrorView™ which is also provided by EMC Corporation of Hopkinton, Mass.
In connection with conventional snapshots, suppose that an original data block of a particular production volume requires updating on a computer system. Along these lines, when the processor of the computer system receives an instruction to modify the original data block of the particular production volume (e.g., a write instruction, a read-modify-write instruction, etc.), the processor reads the original data block of the particular production volume (as CoFW data) from disk into cache memory such that this data can be subsequently copied to snapshot storage. It is only after the read operation is complete that the new data can be written to cache and acknowledged.
Unfortunately, the above-described conventional snapshot approach may be a source of inefficiency and may impact performance of normal file system operations. For example, the latency can be significantly affected by the copying of the CoFW data before the new data can be stored and acknowledged.